headerbar: Duct-tape over the measure mess
authorBenjamin Otte <otte@redhat.com>
Fri, 29 Mar 2019 02:31:04 +0000 (03:31 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 29 Mar 2019 08:56:52 +0000 (09:56 +0100)
Fixes various reftests.

The headerbar needs soeone to redo sizing.

gtk/gtkheaderbar.c

index d3f35da2b017e2aee57da233be0edd81df157856..42a23008108ada43bbef2cbd411e66314e1247fb 100644 (file)
@@ -879,12 +879,18 @@ gtk_header_bar_measure (GtkWidget      *widget,
                         int            *minimum_baseline,
                         int            *natural_baseline)
 {
+  int min, nat;
+  gtk_header_bar_get_size (widget, orientation, &min, &nat);
+
   if (for_size < 0)
-    gtk_header_bar_get_size (widget, orientation, minimum, natural);
+    *natural = nat;
   else if (orientation == GTK_ORIENTATION_HORIZONTAL)
     gtk_header_bar_compute_size_for_orientation (widget, for_size, minimum, natural);
   else
     gtk_header_bar_compute_size_for_opposing_orientation (widget, for_size, minimum, natural);
+
+  *minimum = MAX (*minimum, min);
+  *natural = MAX (*natural, min);
 }
 
 static void